package ar.fiuba.tp7552.buildadmin.model.gastos;

import java.math.BigDecimal;

import ar.fiuba.tp7552.buildadmin.model.BaseEntity;
import ar.fiuba.tp7552.buildadmin.model.BusinessException;
import ar.fiuba.tp7552.buildadmin.model.builds.Edificio;

public abstract class Gasto extends BaseEntity {
	
	private BigDecimal monto;
	private String detalle;
	private String folio;
	private Boolean consolidado = Boolean.FALSE;
	private TipoGasto tipo;
	private Edificio edificio;
	
	// ~~ logica de negocio =========================================================
	
	public abstract void consolidar() throws BusinessException;
	
	
	//~~ getters y setters ===========================================================
	
	public BigDecimal getMonto() {
		return monto;
	}
	public void setMonto(BigDecimal monto) {
		this.monto = monto;
	}
	public String getDetalle() {
		return detalle;
	}
	public void setDetalle(String detalle) {
		this.detalle = detalle;
	}
	public String getFolio() {
		return folio;
	}
	public void setFolio(String folio) {
		this.folio = folio;
	}


	public Boolean getConsolidado() {
		return consolidado;
	}
	public void setConsolidado(Boolean consolidado) {
		this.consolidado = consolidado;
	}
	public TipoGasto getTipo() {
		return tipo;
	}
	public void setTipo(TipoGasto tipo) {
		this.tipo = tipo;
	}
	public Edificio getEdificio() {
		return edificio;
	}
	public void setEdificio(Edificio edificio) {
		this.edificio = edificio;
	}
}
